The approaches described in this section could be pursued but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
In computer systems, data kept on storage devices like hard disks is organized as a file system. Usually, the file system has a tree structure and consists of a root directory, directories, subdirectories, and files. Each object in the file system, i.e. a file or a directory, has an Object Identifier (ID), and a special record called an “Inode” holding attributes associated with the object such as, for example, file size in bytes, block allocation, owner user ID, owner of group ID, time of last modification, and so forth.
In content addressable file systems, the object ID is created by running a mathematical function over the user or metadata content. In traditional file systems, the object ID is typically chosen from a list of unused identifiers.
Most file systems keep only the latest versions of files. If a user wishes to keep older versions of files or directories the user must save them manually or use special versioning software to keep track of the versions of different versions. Backing up of data may be regularly performed by an administrator and a user needs to contact the administrator in order to get an older version of a file.